//package com.techsoul.common.security.service;
//
//import com.techsoul.common.core.exception.BaseException;
//import com.techsoul.common.core.util.lang.StringUtils;
//import com.techsoul.common.security.config.RsaConfig;
//import com.techsoul.common.security.util.HexUtils;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//
//import javax.crypto.Cipher;
//import java.security.PrivateKey;
//import java.security.PublicKey;
//
///**
// * token验证处理
// *
// * @author liuen
// */
//@Slf4j
//@Component
//public class RsaService {
//
//    @Autowired
//    private RsaConfig rsaConfig;
//
//    /**
//     * 公钥加密
//     * @param data
//     * @return
//     * @throws Exception
//     */
//    public String publicKeyEncode(String data) {
//        try {
//            if (StringUtils.isNotBlank(data)) {
//                Cipher cipher = Cipher.getInstance("RSA");
//                cipher.init(Cipher.ENCRYPT_MODE, rsaConfig.getPublicKey());
//                byte[] encode = cipher.doFinal(HexUtils.hexStringToBytes(data));
//                return HexUtils.bytesToHexString(encode);
//            } else {
//                return "";
//            }
//        } catch (Exception e) {
//            log.error("公钥加密失败,请检查公钥文件", e);
//            throw new BaseException("公钥加密失败,请检查公钥文件");
//        }
//    }
//
//    /**
//     * 私钥解密
//     * @param data
//     * @return
//     */
//    public String privateKeyDecode(String data) {
//        try {
//            if (StringUtils.isNotBlank(data)) {
//                Cipher cipher = Cipher.getInstance("RSA");
//                cipher.init(Cipher.DECRYPT_MODE, rsaConfig.getPrivateKey());
//                byte[] decode = cipher.doFinal(HexUtils.hexStringToBytes(data));
//                return HexUtils.bytesToHexString(decode);
//            } else {
//                return "";
//            }
//        } catch (Exception e) {
//            log.error("私钥解密失败,请检查私钥文件", e);
//            throw new BaseException("私钥解密失败,请检查私钥文件");
//        }
//    }
//
//}
